package com.szly.phm.common.service;

import com.szly.phm.common.entity.dto.fi.*;
import com.szly.phm.common.entity.dto.user.LoginUserDTO;
import com.szly.phm.common.entity.result.PageResult;
import com.szly.phm.common.entity.result.RootResponse;
import com.szly.phm.common.entity.vo.fi.DisplayLocationInfoPageChildDTO;
import com.szly.phm.common.entity.vo.fi.DisplayLocationInfoVO;

public interface IFiService {

    // query
    RootResponse<PageResult<DisplayLocationInfoVO>> queryDisplayLocationInfoPage(DisplayLocationInfoPageDTO displayLocationInfoPageDTO);

    // add
    RootResponse createDisplayLocationInfo(CreateDisplayLocationInfoDTO createDisplayLocationInfoDTO, LoginUserDTO userDTO);

    // update
    RootResponse updateDisplayLocationInfo(UpdateDisplayLocationInfoDTO updateDisplayLocationInfoDTO, LoginUserDTO userDTO);

    // delete
    RootResponse deleteDisplayLocationInfo(String id, LoginUserDTO userDTO);


    RootResponse createFiSubsystemStatusData(CreateFiSubsystemStatusDataDTO createServerAreaDTO, LoginUserDTO userDTO);

    RootResponse selectFiSubsystemStatusData(FiSubsystemStatusDataPageDTO serverAreaPageDTO);

    RootResponse  deleteFiSubsystemStatusData(String id,LoginUserDTO userDTO);

    RootResponse updateFiSubsystemStatusData(UpdateFiSubsystemStatusDataDTO updateServerArea, LoginUserDTO userDTO);

    RootResponse createFiDataType(CreateFiDataTypeDTO createServerAreaDTO, LoginUserDTO userDTO);

    RootResponse selectFiDataType(FiDataTypePageDTO serverAreaPageDTO);

    RootResponse  deleteFiDataType(String id,LoginUserDTO userDTO);

    RootResponse updateFiDataType(UpdateFiDataTypeDTO updateServerArea, LoginUserDTO userDTO);

    RootResponse createFiRealTimeFileStructure(CreateFiRealTimeFileStructureDTO createServerAreaDTO, LoginUserDTO userDTO);

    RootResponse selectFiRealTimeFileStructure(FiRealTimeFileStructurePageDTO serverAreaPageDTO);

    RootResponse  selectRealTimeFileStructures(String modelId);

    RootResponse  deleteFiRealTimeFileStructure(String id,LoginUserDTO userDTO);

    RootResponse updateFiRealTimeFileStructure(UpdateFiRealTimeFileStructureDTO updateServerArea, LoginUserDTO userDTO);

    RootResponse createFiFileType(CreateFiFileTypeDTO createServerAreaDTO, LoginUserDTO userDTO);

    RootResponse selectFiFileType(FiFileTypePageDTO serverAreaPageDTO);

    RootResponse  deleteFiFileType(String id,LoginUserDTO userDTO);

    RootResponse updateFiFileType(UpdateFiFileTypeDTO updateServerArea, LoginUserDTO userDTO);

    RootResponse  createFiTaReLation(CreateFiTaRelation createFiTaRelation,LoginUserDTO userDTO);

    RootResponse queryDisplayLocationInfosChildPage(DisplayLocationInfoPageChildDTO displayLocationInfoPageDTO);
}
